1. Field of the Invention
The invention relates to Serial input/output (SIO) data stream devices and methods. More particularly, the invention relates to devices and methods that allow SIO data streams to be delivered by a single SIO initiator device to multiple SIO target devices.
2. Description of the Related Art
Serial input/output (SIO) refers to a method of communicating data between devices in which the individual data bits are sent sequentially from an initiator device to a target device. Serial General Purpose Input Output (SGPIO) refers to serializing general purpose IO signals, e.g., by defining the communication between the initiator device, such as a host bus adapter (HBA), and the target device, such as a hard drive slot backplane or other backplane holding hard disk drives (HDDs). The data bus as specified by SGPIO typically is a four-signal (or four-wire) bus between the host bus adapter and the backplane. Of the four signals, three are driven by the host bus adapter and one is driven by the backplane. Typically, the host bus adapter is a storage controller located inside a server, desktop, rack or workstation computer. The host bus adapter interfaces with the hard disk drives to store and retrieve data.
The SGPIO specification is maintained by the SFF (Small Form Factor) Committee, and its official name of the SGPIO specification is SFF-8485. Within the SGPIO specification, the International Blinking Pattern Interpretation (IBPI) defines how SGPIO data streams are interpreted into states and how light emitting diodes (LEDs) on a backplane interpret these states as status indicators.
In conventional SIO communication system arrangements, a single initiator device typically is coupled to a single target device via an SGPIO bus or other appropriate bus coupled therebetween. Therefore, as the number of target devices within an SIO system increases, the number of initiator devices must increase accordingly. Such an increase in the number of initiator devices increases overall system complexity and costs, while also reducing overall system efficiency.
In data transmission environments that do not use SIO data streams, a port expander storage device, such as a Serial Attached SCSI (SAS) expander, can be used to couple a single initiator device to a plurality of target devices. SCSI refers to the Small Computer Systems Interface set of electronic interface standards that allow various devices to communicate with one another, e.g., computers to communicate with peripheral devices. However, like conventional SIO communication system arrangements, data transmission between a SAS initiator device and a plurality of SAS target devices still is based on a one-to-one relationship between the initiator device and the target devices. That is, the SAS expander receives and stores a data transmission from the SAS initiator device and then routes or directs the stored data to only one of the plurality of SAS target devices at any given time. Thus, although the SAS expander allows a SAS initiator device to be coupled to and communicate with a plurality of SAS target devices, the data transmitted from the SAS initiator device and stored in the SAS expander can be delivered only to one SAS target device at any given time.